This invention relates generally to computer networks and more particularly to handling bulk data transfers and network switches and nodes.
A problem with existing data communications switches is the overloading of a switch or node with bulk or large transfers of data such as in bulk e-mail or other bulk file transfers. This congestion of a switch may disrupt more time-sensitive traffic such as video or audio streaming, which is becoming more important with the advance of Internet telephony, video conferencing and video on demand.
In the field of connecting networks, a variety of different network protocols are used to communicate between different data processing systems on particular networks making communication between such networks difficult. Most network protocols require considerable configuration of parameters when adding computer systems or nodes, typically accomplished by manual input of device addresses by network professionals who nonetheless make mistakes. This problem may be exacerbated when connecting across network boundaries
Current connection of networks, including the mechanisms used to connect the so-called Internet, is accomplished using devices known as xe2x80x9cbridgesxe2x80x9d and xe2x80x9crouters.xe2x80x9d Roughly speaking, bridges connect different networks at the xe2x80x9cdata linkxe2x80x9d layer or Layer 2 of the OSI Network model, see Schwartz, Mischa, Telecommunication Networks at 75-99 (Addison-Wesley 1987), and routers connect different networks at the xe2x80x9cnetworkxe2x80x9d layer or Layer 3 of the OSI model, wherein a packet of data is preceded by headers corresponding to layers of communication, with the first in time header corresponding to the lowest Layer 1, the physical link, and proceeding up to Layer 7, the application layer (other models have fewer layers and the xe2x80x9capplication layerxe2x80x9d may refer and here refers to functions at Layers 5-7 of the OSI model). When packets of information are received at a bridge, the bridge processor forwards the packet on a data link according to the information in the data link header (following the physical link header). When packets of information are received at a router, the packet is routed according to the information in the network header. These headers, however, do not contain information about the quality of service required by the application to which the data packet pertains; thus, each packet is forwarded according to the data link or network protocol which may or may not include a priority flag, typically for network management operations.
The types of applications requiring data transmission on current networks call for a wide range of service. Thus, in communications with a file server, requests uploaded from a client for downloading of data require relatively little bandwidth, while downloading of massive amounts of data requires great bandwidth to be accomplished in a reasonable time. Streaming of audio-visual (xe2x80x9cmultimediaxe2x80x9d) information requires guaranteed bandwidth at regular intervals to avoid perceivable interruptions or xe2x80x9cjitterxe2x80x9d. E-mail, file server requests, HTTP, word processing each have their own application protocols with associated header information that can be associated with their communication needs, including bandwidth.
Network switching schemes that consider information above the network layer, so-called xe2x80x9cLayer 4 switches,xe2x80x9d are just coming on the market and appear typically to involve software implementations that are slow and only consider a portion of the Layer 4 or transport layer header (the xe2x80x9cTCPxe2x80x9d part of TCP/IP or transport control protocol/internetwork protocol).
It remains desirable to have a way of scheduling bulk transfers of data efficiently and effectively while maintaining the flow of time-sensitive data transfers through a network switch.
It is an object of the present invention to provide a method and apparatus to schedule bulk transfers of data through a network switch without disrupting other data flow through the switch.
It is another object of the present invention to provide a method and apparatus to prevent data overload of a network switch by a bulk transfer of data.
The problems of handling bulk data transfers in communications networks are solved by the present invention of an application-level data communication switching system and process for automatic detection of and quality of service adjustment for bulk data transfers.
In the present invention, a data communication switch and process is provided for tracking the number of data bytes processed by the switch that is associated with a data flow that is part of a session by comparing information derived from the contents of a session-level header in data packets. Upon reaching a certain threshold that indicates that the flow is part of a bulk e-mail or other bulk file transfer, the switch automatically lowers the priority given to the transmission of the remainder of the flow.
The present invention together with the above and other advantages may best be understood from the following detailed description of the embodiments of the invention illustrated in the drawings, wherein: